好唷!來說說小鎮上精靈們的書店草創時期小故事 - 第 1 篇~~~~😊
在魔法的小鎮上,這群可愛的小精靈,他們決定開一家書店,讓小鎮的居民都能享受閱讀的樂趣。然而,開店的過程中,他們遇到了不少困難~
小精靈們熱情洋溢地開始規劃他們的書店。面臨的第一個挑戰是要填充書店的書籍資料。精靈們希望每本書都有獨特的故事和角色,但小精靈們的書庫(資料庫)卻空空如也。
為了解決這個問題,小精靈們決定使用一個名叫「Seeder」的魔法。他們記得從老書中學到的,這種魔法可以快速生成書籍資料。
首先,小精靈們創建了一個名為 BookSeeder 的魔法器具,這個器具能夠在書店的資料庫中插入書籍資訊。他們開始編輯這個器具,決定放入一些熱門書籍的資料。
要使用 BookSeeder 的魔法器具,需要先使用 Artisan 命令 中的 make:seeder 小魔法
產生的魔法器具會儲放在 database/seeders 目錄中
php artisan make:seeder BookSeeder
可以看到在檔案中有預設一個方法:run ,當執行 Artisan 命令 中的 db:seed  時就會呼叫此方法
<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\\DB;
class BookSeeder extends Seeder
{
    public function run()
    {
        DB::table('books')->insert([
            ['title' => '魔法之書', 'author' => '艾莉絲', 'genre' => '魔法'],
            ['title' => '冒險之旅', 'author' => '巴比', 'genre' => '冒險'],
        ]);
    }
}
然後,小精靈們新增完 run 方法的內容後,用魔法執行了 db:seed ,將資料填入資料庫中:
# 我們可以指定要單獨運行的特定 seeder 類
php artisan db:seed --class=BookSeeder 
# 運行全部
php artisan db:seed
當書籍資料終於填充完畢後,小精靈們歡呼雀躍,書店的書架上開始有了各式各樣的書籍。
但小精靈想說也有些評論想要來填充進去資料庫,內容看起來可以更豐富
可以使用 call 方法來執行其他 seeder 類。使用 call 方法可以將資料庫種子劃分為多個文件,這樣就不會有單個 seeder 類變得太大。
/**
 * Run the database seeders.
 */
public function run(): void
{
    $this->call([
        BookSeeder::class, // 新增書籍資料
        CommentSeeder::class // 新增評論資料 
    ]);
}
明天再來聊聊小精靈如何克服下一個挑戰唷!
參考資料
踏著身心靈的塔羅腳步,轉向技術與邏輯的工程師之路,就藉由塔羅日抽來紀錄今日的學習與生活吧!
權杖騎士:保持熱情,勇往直前,著滿滿的能量與活力!
Nothing is as important as passion. No matter what you want to do with your life, be passionate.
沒有什麼比熱情更為珍貴,無論你想要在生命中追求什麼,都要全心投入,懷抱熱情。
— Jon Bon Jovi